<?php
/**
 * 订单服务
 * 有关订单方面的扩展功能都可以使用此服务
 * @author dongqiujing
 * @package ome_service_order
 * @copyright www.shopex.net.cn 2010.10.14
 *
 */
class ome_service_order{
    
    /**
     * 订单编辑
     * @access public
     * @param string $order_id 订单号
     */
    public function update_order($order_id){
        kernel::single("ome_rpc_request_order")->update_order($order_id);
    }
    
    /**
     * 订单备注修改
     * @access public
     * @param string $order_id 订单号
     * @param string $memo 订单备注
     */
    public function update_memo($order_id, $memo){
        kernel::single("ome_rpc_request_order")->memo_update($order_id, $memo);
    }
    
    /**
     * 订单备注添加
     * @access public
     * @param string $order_id 订单号
     * @param string $memo 订单备注
     */
    public function add_memo($order_id, $memo){
        kernel::single("ome_rpc_request_order")->memo_add($order_id, $memo);
    }
    
    /**
     * 订单状态修改
     * @access public
     * @param string $order_id 订单号
     * @param string $status 状态
     * @param string $memo 备注
     */
    public function update_order_status($order_id,$status='',$memo=''){
        kernel::single("ome_rpc_request_order")->order_status_update($order_id,$status,$memo);
    }

    /**
     * 订单暂停与恢复
     * @access public
     * @param string $order_id 订单号
     * @param string $status 订单状态true:暂停 false:恢复
     */
    public function update_order_pause_status($order_id,$status=''){
        kernel::single("ome_rpc_request_order")->order_pause_status_update($order_id, $status);
    }
    
    /**
     * 订单发货状态修改
     * @access public
     * @param string $order_id 订单号
     * @param string $queue 是否走队列
     */
    public function update_ship_status($order_id, $queue=false){
        kernel::single("ome_rpc_request_order")->ship_status_update($order_id,$queue);
    }

   /**
     * 更新订单发票信息
     * @access public
     * @param string $order_id 订单号
     */
    public function update_order_tax($order_id){
        kernel::single("ome_rpc_request_order")->order_tax_update($order_id);
    }
    
    /**
     * 订单支付状态修改
     * @access public
     * @param string $order_id 订单号
     */
    public function update_pay_status($order_id){
        kernel::single("ome_rpc_request_order")->pay_status_update($order_id);
    }
    
    /**
     * 买家留言添加
     * @access public
     * @param string $order_id 订单号
     * @param string $memo 买家留言
     */
    public function add_custom_mark($order_id, $memo){
        kernel::single("ome_rpc_request_order")->custom_mark_add($order_id, $memo);
    }

    /**
     * 更新交易发货人信息
     * @access public
     * @param string $order_id 订单号
     */
    public function update_consigner_info($order_id){
        kernel::single("ome_rpc_request_order")->consigner_info_update($order_id);
    }
    
    /**
     * 更新代销人信息
     * @access public
     * @param string $order_id 订单号
     */
    public function update_sellingagent_info($order_id){
        kernel::single("ome_rpc_request_order")->sellagent_info_update($order_id);
    }
    
    /**
     * 订单失效时间
     * @access public
     * @param string $order_id 订单号
     * @param string $order_limit_time 订单失效时间
     */
    public function update_order_limit_time($order_id,$order_limit_time=''){
        kernel::single("ome_rpc_request_order")->update_order_limit_time($order_id, $order_limit_time);
    }
    
    /**
     * 更新交易收货人信息
     * @access public
     * @param string $order_id 订单号
     */
    public function update_shippinginfo($order_id){
        kernel::single("ome_rpc_request_order")->shippinginfo_update($order_id);
    }
    
    /**
     * 订单批次索引号（返回或更新）
     * @param sdf $orderSdf 订单sdf结构
     * @param string $process （get：返回当前的批次索引号(获取一次都占一个号，慎用)；add：如果已存在批次索引号，则不更新；update：不管有没有批次索引号，都更新）
     */
    public function order_job_no($orderSdf, $process='get'){
        return kernel::single("ome_order_batch")->order_job_no($orderSdf, $process);
    }
    
    public function notify_get_order($shop,$start_time,$end_time){
        kernel::single("ome_rpc_request_order")->notify_get_order($shop,$start_time,$end_time);
    }
    
    public function destroy_running_no($shop_id, $username, $md5){
        return kernel::single("ome_order_batch")->destroy_running_no($shop_id, $username, $md5);
    }
}